/*--------------------封装分页代码---------------*/
function Page(ele) {
	this.ele = ele; //传的json对象
	this.opageWrap = ele.opageWrap; //分页的对象 必传
	this.maxPage = ele.maxPage; //最大页数
	this.activePage = ele.activePage ? ele.activePage : 1; //现在的页数
	this.showPage = this.maxPage<5 ? this.maxPage: 5;//显示的页数 
	//this.pageLocal = Math.ceil(this.showPage / 2); //显示中间的位置
}
/*渲染active页*/
Page.prototype.showActive = function(num) {
	var allPagebtn = this.opageWrap.querySelectorAll(".page-btn-wrap .page-btn");
	for(var i = 0; i < this.showPage; i++) {
		allPagebtn[i].className = "page-btn";
	}
	if(num <= Math.ceil(this.showPage / 2) ) { //小于显示的页数
		for(var i = 0; i < this.showPage; i++) {
			allPagebtn[i].innerText = i + 1;
		}
		allPagebtn[num - 1].className = "page-btn active"; //加入active类
	} else if(this.maxPage - num <= this.showPage - Math.ceil(this.showPage / 2)) { //大于
		for(var i = 0; i < this.showPage; i++) {
			allPagebtn[i].innerText = this.maxPage - this.showPage + 1 + i;
		}
		allPagebtn[this.showPage - this.maxPage + num - 1].className = "page-btn active"; //加入active类
	} else { //中间的
		for(var i = 0; i < this.showPage; i++) {
			allPagebtn[i].innerText = num - Math.ceil(this.showPage / 2) + i + 1;
		}
		allPagebtn[Math.ceil(this.showPage / 2) - 1].className = "page-btn active";
	}
	this.activePage = num; //当前指向的页数
	//this.jumpMethod();
}
/*创建事件*/
Page.prototype.creatEvent = function() {
	/*为页数的点击添加事件*/
	var allPagebtn = this.opageWrap.querySelectorAll(".page-btn-wrap .page-btn"); //取得所有显示的页数
	var _this = this;
	for(var i = 0; i < allPagebtn.length; i++) {
		allPagebtn[i].onclick = function() {
			_this.showActive(parseInt(this.innerText));
		}
	}
	/*为左右键添加点击事件*/
	var prePageBtn = this.opageWrap.querySelector(".opre-btn");
	prePageBtn.onclick = function() {
		if(_this.activePage > 1) {
			_this.showActive(_this.activePage - 1);
		} else {
			alert("已经是第一页了！");
		}
	}
	var nextPageBtn = this.opageWrap.querySelector(".onext-btn");
	nextPageBtn.onclick = function() {
		if(_this.activePage < _this.maxPage) {
			_this.showActive(_this.activePage + 1);
		} else {
			alert("已经是最后一页！");
		}
	}
	/*为第一页和最后一页添加事件*/
	var lastBtn = this.opageWrap.querySelector(".last-btn");
	lastBtn.onclick = function() {
		_this.showActive(_this.maxPage);
	}

	var firstBtn = this.opageWrap.querySelector(".first-btn");
	firstBtn.onclick = function() {
		_this.showActive(1);
	}

	//创建input输入事件
	var btnInput = this.opageWrap.querySelector("#gopage");

	btnInput.onkeypress = function(event) {
		var keyCode = event.keyCode;
		if((keyCode >= 48 && keyCode <= 57)) {
			event.returnValue = true;
		} else {
			event.returnValue = false;
		}
	}

	var goBtn = this.opageWrap.querySelector(".go");

	goBtn.onclick = function() {
		if(btnInput.value < 1 || btnInput.value > _this.maxPage) {
			alert("页数范围在1到" + _this.maxPage + "之间");
		} else {
			_this.showActive(parseInt(btnInput.value));
		}

	}
}
/*创建元素*/
Page.prototype.creatElement = function() {
	/*创建元素*/
	var pageBtnWrap = this.opageWrap.querySelector(".page-btn-wrap");
	pageBtnWrap.innerHTML = ""; //清空
	for(var i =0; i < this.showPage; i++) {
		var pageBtn = document.createElement("span");
		pageBtn.className = "page-btn";
		pageBtn.innerText = i + 1;
		pageBtnWrap.appendChild(pageBtn); //加入元素
	}
	this.showActive(this.activePage);
}
/*初始化方法*/
Page.prototype.init = function() {
	this.creatElement();
	this.creatEvent();
}

/*-------------------------------调用-----------------------------------------*/
var obj = $(".page-wrap").get(0);
var PAGE = new Page({
	opageWrap: obj, //分页的容器
	maxPage: 13,//最大页数
	showPage: 5//显示的页数
});
PAGE.init();

